package view; import java.awt.Color; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Graphics; import java.util.ArrayList; import java.util.Iterator; import java.util.LinkedList; import java.util.ListIterator; import java.util.Random; import javax.swing.BorderFactory; import javax.swing.BoxLayout; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.SwingUtilities; import javax.swing.border.LineBorder; import javax.swing.border.TitledBorder; import model.CashRegister; import model.Client; import utilities.Constants; public class QueuePanel extends JPanel { private CashRegister cashRegister; private int id; private LinkedList<Color> color = new LinkedList<Color>(); static int guiNrOfClients; ArrayList<JLabel> lblClients; public QueuePanel(int id) { this.id = id; this.guiNrOfClients = 0; this.lblClients = new ArrayList<JLabel>(); this.setPreferredSize(new Dimension(Constants.X_FRAME, 280)); this.setLayout(new BoxLayout(this, BoxLayout.X_AXIS)); TitledBorder title; title = BorderFactory.createTitledBorder("Cash Register"+id); this.setBorder(title); } public void drawSalesman() { JLabel salesman = new JLabel("CashRegister" + id); salesman.setBackground(Color.BLACK); this.add(salesman); } public void drawElements(CashRegister cashRegister) { int nrClients = cashRegister.getClientsQueue().size(); Client[] clients = (Client[]) cashRegister.getClientsQueue().toArray(new Client[0]); int i; JLabel label; this.removeAll(); try { for (i = 0; i < nrClients; i++) { label = new JLabel(clients[i].getId() + "->"); this.add(label); revalidate(); repaint(); } this.guiNrOfClients = nrClients; this.getTopLevelAncestor().setVisible(true); } catch (Exception e) { } } }